﻿using System.Collections.Generic;

namespace HossMvp.Core
{
    public interface IViewManager<TView> where TView : AbstractView
    {
        AbstractView Create<T>(params object[] args) where T : AbstractView;

        void Remove(TView view);

        IEnumerable<TView> Views { get; }

        IPresenter<AbstractModelManager, AbstractViewManager> Presenter { get; set; }

        ICommand GetCommand(string name);
    }
}